# demo05_var.py
# 全局变量: 定义在函数外部的变量, 作用域:函数内外
# 局部变量: 定义在函数内部的变量, 作用域:函数内
# global: 全局, 在函数内部修改全局变量的值
d = 10  # 全局变量
def func04():
    global d  # 此时函数内使用的就是全局变量d
    d = 100  # 修改的就是全局变量d的值,10-->100
    print("d in func04:", d)  # 全局变量d: 100
func04()
print("d out func04:", d)  # 100


c = 20  # 全局变量
def func03():
    # 就近: 局部->全局->内建(builtins.py)->报错
    c = 30  # 局部变量
    print(__name__)
    print("c in func03:", c)  # 30
func03()
print("c out func03:", c)  # 20

def func02():
    b = 10  # 局部变量
    print("b in func02:", b)  # 10
func02()
print("b out func02:", b)  # 报错

a = 50  # 全局变量
def func01():
    print("a in func01:", a)  # 50
func01()
print("a out in func01:", a)  # 50
